ignore recommendations for API plugins#5220
Conversation
content/doc/developer/plugin-development/choosing-jenkins-baseline.adoc
Outdated
Show resolved
Hide resolved
d768545 to
1bff1ef
Compare
following these recommendations for API plugins would be wrong. The reasons provided in the original PRs for doing so are all completely moot with an API plugin, and would lock out of any older version getting API fixes - esp security related ones or at least make it much more effort than would be required to deliver it.
There was a problem hiding this comment.
This makes sense to me. @jglick, @daniel-beck, and @basil does this make sense to you based on the discussion in #4876 ?
| When updating the core dependency, choose the link:/changelog-stable/[newest LTS version] that doesn't exclude a majority of your existing users (by requiring a newer Jenkins than they have). | ||
|
|
||
| NOTE: if you are packaging a pure API library (one that does not depend on Jenkins APIs) then you should ignore newer jenkins versions and pick an older LTS. | ||
| Something around 1 year old that does not have too many detached plugins makes a good choice and *PLACEHOLDER_OLDEST_LTS* would be a reasonable candidate. |
There was a problem hiding this comment.
Ideally the plugin manifest could contain an option which could prevent the older baseline from even considering detached plugins for these types of plugins, but that is for another day.
There was a problem hiding this comment.
I was not involved in #4876. |
jglick
left a comment
There was a problem hiding this comment.
Generally reasonable advice, though I am not sure I would say it is universally applicable as sometimes newer Jenkins baselines have updates to bundled plugins or corrections to Maven metadata which simplify the task of packaging the external library.
| When updating the core dependency, choose the link:/changelog-stable/[newest LTS version] that doesn't exclude a majority of your existing users (by requiring a newer Jenkins than they have). | ||
|
|
||
| NOTE: if you are packaging a pure API library (one that does not depend on Jenkins APIs) then you should ignore newer jenkins versions and pick an older LTS. | ||
| Something around 1 year old that does not have too many detached plugins makes a good choice and *PLACEHOLDER_OLDEST_LTS* would be a reasonable candidate. |
There was a problem hiding this comment.
content/doc/developer/plugin-development/choosing-jenkins-baseline.adoc
Outdated
Show resolved
Hide resolved
| When updating the core dependency, choose the link:/changelog-stable/[newest LTS version] that doesn't exclude a majority of your existing users (by requiring a newer Jenkins than they have). | ||
|
|
||
| NOTE: if you are packaging a pure API library (one that does not depend on Jenkins APIs) then you should ignore newer jenkins versions and pick an older LTS. | ||
| Something around 1 year old that does not have too many detached plugins makes a good choice and *PLACEHOLDER_OLDEST_LTS* would be a reasonable candidate. |
There was a problem hiding this comment.
Co-authored-by: Jesse Glick <[email protected]>
following these recommendations for API plugins would be wrong. The reasons provided in the original PRs for doing so are
allmostly completely moot with an API plugin, and would lock out of any older version getting API fixes - esp security related ones or at least make it much more effort than would be required to deliver it.